本文简要介绍ACM Multimedia 2020录用论文:“One-shot Text Field Labeling using Attention and Belief Propagation for Structure Information Extraction”的主要工作。该工作基于注意力机制实现文档图像之间版面信息的迁移,从而实现单样本学习(One-Shot Learning)的结构化信息抽取。如图1所示,通常从视觉富文档图像中提取结构化信息包含三个步骤:文本检测,文本识别和文本序列标注。现有的基于学习的文本序列标注方法通常需要大量的标注样本来针对每种类型的文档训练特定的模型。但是视觉富文档图像包含的信息隐私性导致收集大量的数据比较困难。此外,现有单样本学习的序列标注方法通常基于规则的方法,这很难应对实际OCR场景下多个命名实体被检测到一起或是同一个命名实体被拆分的情况。
图1 结构化信息提取工作流程:(a)文本检测,(b)文本识别,(c)文本序列标注(红色矩形是静态字段,蓝色是动态字段。)
论文首先区分了视觉富文档图像中的两种类型的字段:静态文本字段(Static Text,图1(c)红色字体)和动态文本字段(Dynamic Text,图1(c)蓝色字体)。这两种字段的不同之处在于静态文本字段可以较为容易地通过关键词匹配,是数据集样本中通常都会出现的文本,例如:“谢谢光临”,“总价”等文字。而动态文本字段是需要结合其语义和应用场景才能证实其命名实体类别的字段。提出的方法如下图2所示,主要包含三个模块:LFAttn模块(静态文本字段与动态文本字段之间的注意力模块),FFAttn模块(动态文本字段与动态文本字段之间的注意力模块)以及BP模块(Belief Propagation, 融合LFAttn和FFAttn两模块中对动态字段的命名实体分类的概率得到最终结果)。为了实现端到端可训练,论文引入置信度传播算法(Belief Propagation)进行固定步数的迭代优化。
图 2 One-shot 序列标注模型结构示意图
- 文档图的构建:图节点(Graph Vertices):每个字段作为单个节点,主要分为动态文本字段和静态文本字段。支撑集(Support Document)上的动态字段和静态字段是预先定义的。查询集(Query Document)上的静态字段是和支撑集上的相同字段匹配得到的。图的边(Graph Edges):为了节省计算时的内存消耗,仅设定每个字段与其周围的字段存在连接关系。边的特征(Edge Features):利用各字段之间的归一化空间位置关系。
- LFAttn模块:该模块基于注意力机制将支撑集上静态字段和动态字段之间的空间位置关系迁移到查询集上。首先,类似于原型网络[1]的思路(Prototypical Network),将支撑集上每种命名实体类别的中心进行聚合。令表示静态字段和动态字段之间特征,对于静态字段和动态字段,命名实体第k个类别的中心表示为:类似于关系网络(Relation Network)[2],本文在Attention阶段使用非线性相似度得分。处理的流程是串接查询集和支撑集上的特征,随后经过全连接层得到注意力得分:由此得到输出的矩阵为。其中,L表示静态字段的数量,F表示动态字段的数量,K表示命名实体的类别数。随后,按第一维取平均,得到的命名实体分类概率,最后用交叉熵Loss优化模型。
- FFAttn模块: 类似于LFAttn模块的思路, 这里考虑的是不同动态字段之间的关联。令表示命名实体的类别分别为第类和第类的动态字段。令表示动态字段和的边特征。这里计算支撑集上的两命名实体类别分别为第类和第类的动态字段的边特征:由此,得到的输出矩阵维度为。其中,F表示动态字段的数量,K表示命名实体的类别数,该矩阵表示两两动态字段分类为各命名实体的概率。
- Belief Propagation模块:这里利用一对CRF结合LFAttn和FFAttn两命名实体的概率。首先,将LFAttn的输出扩展为和FFAttn模块的输出一样的维度。置信度传播矩阵( Belief Propagation Matrix) 的形式为:。每个单元表示第个动态字段和第个动态字段的命名实体分类的类别分别为第类和第类。因此, 例如 BP模块处理所有动态字段到某动态字段的置信度传播方式为:
因此,经过BP模块后可以得到每个动态字段最终的命名实体分类概率。本文在两个数据集上进行实验:DocLL-oneshot是其自建的数据集,包含1307个文档图像,43个不同的命名实体类别。 SROIE-oneshot在公开的SROIE数据集上增加了额外的命名实体类别标注,共10个不同的命名实体类别。论文提到后续会公开数据集,开源地址为[3]。
在DocLL-oneshot数据集上和现有方法对比的结果如表1所示,†表示本文对余弦距离加入了线性变换。首先,现有的基于图像特征的少样本学习(Few-shot)序列标注方法相比于基于规则的方法表现较差。这是由于不同类型文字字段的图像特征难以区分。相比而言,各字段的空间关系比较稳定。因此,从结果来看,结合论文提出的两种空间位置关系的注意力模块能够达到最好的表现。
从结果可以看出该方法在两个数据集上呈现的结果一致,通过结合三个模块可以有约3%的提升。
由于在实际OCR场景下,可能出现静态字段漏检的情况, 通常平均会漏检1.7个静态字段,为了测试模型在静态字段缺失的情况下是否具有一定的鲁棒性,图3反映了静态字段的数量对于序列标注精度的影响。可以看到如果静态字段漏检的数量小于3个的情况下模型仍然能保持较高的精度。但是静态字段漏检过多的情况下,模型的性能有急剧的下降。
本文对比了结合不同的Attention方法的效果。AvgAttn是指把对静态字段取平均的操作移到Attention之前,可以发现精度比LFAttn模块低很多。MPAttn是参考图匹配网络[4]的思路, 将消息传播算法(Message Passing)移到Attention之前,具体计算方式如下所示。从表3的结果可以看出,采用其他几种Attention的方式精度都会有略微的下降:
表4中,论文尝试从单样本学习的方法扩展到少样本学习的方法来验证随着样本数的增加,模型的性能的变化情况。这里和之前的方法一致,考虑5-shot的序列标注方法。从结果可以看到:5-shot相比之前单样本学习的方法精度均有一定的提升。并且,论文提出的方法在5-shot的情况下仍然能保持最高的精度.表4 本文提出的5-shot的方法在两个数据集上的精度
论文提供了一些可视化结果,图4是 DocLL-oneshot数据集上的可视化结果,图5是SROIE-oneshot数据集上的可视化。
图5 SROIE-oneshot数据集上的可视化
本文首次提出了一种针对文本序列标注的单样本学习方法。该方法基于Attention机制和置信度传播算法迁移支撑集到查询集的空间版面信息,能够处理带多区域文本域的复杂文档版面上的文本序列标注任务。该方法依赖文本区域之间的空间拓扑结构,能够有效处理具有相似版面的视觉富文档序列标注任务。 [1] Jake Snell,Kevin Swersky, and Richard Zemel. Prototypical networks for few-shot learning. In Neural Information Processing Systems(2017).
[2] Flood Sung,Yongxin Yang,et al. Learning to compare:Relation network for few-shot learning. In IEEE Conference on Computer Vision and Pattern Recognition(2018 ).[3] https://github.com/AlibabaPAI/one_shot_text_labeling[4] Yujia Li,Chenjie Gu, et al. Graph Matching Networks for Learning the Similarity of Graph Structured Objects. International Conference on Machine Learning (2019).
原文作者:Mengli Cheng, Minghui Qiu, Xing Shi, Jun Huang, and Wei Lin撰稿:唐国志编排:高 学审校:连宙辉
发布:金连文
免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。
征稿启事:本公众号将不定期介绍文档图像分析与识别及相关领域的论文、数据集、代码等成果,欢迎自荐或推荐相关领域最新论文/代码/数据集等成果给本公众号审阅编排后发布。